#define  _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdbool>
#include <assert.h>
using namespace std;

class Data
{
	friend ostream& operator<<(ostream& out,const Data& d);
	friend istream& operator>>(istream& in, Data& d);

public:

	Data(int year=2000, int month=1, int day=1);
	void print();
	Data(const Data& d);
	int getMonthDay(int year, int month);
	bool operator == (const Data& d);
	bool operator<(const Data& d);
	bool operator<=(const Data& d);
	bool operator>(const Data& d);
	bool operator!=(const Data& d);

	Data& operator=(const Data& d);
	Data& operator+=(int day);
	Data operator+(int day);
	Data& operator++();
	Data operator++(int);
	Data operator-(int day);
	Data& operator-=(int day);
	Data& operator--();
	Data operator--(int);

	int operator-(const Data& d);



private:
	int _year;
	int _month;
	int _day;
};
